#include <iostream>
#include <thread>
#include <atomic>
#include <condition_variable>
#include <mutex>
using namespace std;

// mutex mtx;
// condition_variable cv;
// int x = 100;
// void oddprint()
// {
//     mtx.lock();
//     while (x > 0)
//     {

//     }
// }
int main()
{
	// int n = 100;
	// mutex mtx;
	// condition_variable cv;
	// bool flag = true;
	// //奇数
	// thread t1([&] 
	// 	{
	// 	int i = 1;
	// 	while (i <= 100)
	// 	{
	// 		unique_lock<mutex> ul(mtx);
	// 		cv.wait(ul, [&flag]()->bool {return flag; }); //等待条件变量满足
	// 		cout << this_thread::get_id() << ":" << i << endl;
	// 		i += 2;
	// 		flag = false;
	// 		cv.notify_one(); //唤醒条件变量下等待的一个线程
	// 	}
	// 	});
	// //偶数
	// thread t2([&] {
	// 	int j = 2;
	// 	while (j <= 100)
	// 	{
	// 		unique_lock<mutex> ul(mtx);
	// 		cv.wait(ul, [&flag]()->bool {return !flag; }); //等待条件变量满足
	// 		cout << this_thread::get_id() << ":" << j << endl;
	// 		j += 2;
	// 		flag = true;
	// 		cv.notify_one(); //唤醒条件变量下等待的一个线程
	// 	}
	// 	});

	// t1.join();
	// t2.join();

    cout << "hello word" << endl;
    return 0;
}